//
//  BVideoCacheTool.h
//  Bullet
//
//  Created by  on 2019/9/17.
//  Copyright © 2019 . All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BConst.h"

NS_ASSUME_NONNULL_BEGIN

@class BFileDownloaderTool;
@interface BVideoCacheTool : NSObject


/**
 初始化配置

 @param maxCacheCount 视频最大缓存数量,默认10
 */
- (void)initiailWithMaxCacheCount:(NSInteger)maxCacheCount preloadingMaxCount:(NSInteger)preloadingMaxCount;

/**
 获取视频路径

 @param urlStr 视频web源路径
 @return 如果本地缓存存在视频，返回本地路径，否则返回web源路径
 */
- (BVideoCacheResult)getVideoPathWithWebUrl:(NSString *)urlStr;
- (BVideoCacheResult)getVideoPathWithWebUrl:(NSString *)urlStr preLoad:(BOOL)preload;

/**
 预加载视频

 @param urlStr 视频weburl
 */
- (void)preloadLoadVideo:(NSString *)urlStr;
- (void)preloadLoadVideo:(NSString *)urlStr preLoad:(BOOL)preload;

/// 移除视频缓存（包含缓存信息记录）
- (void)deleteVideoCache;

/// 移除用户缓存文件夹（包含缓存信息记录）
- (void)deleteAllUserCache;

/// 获取用户缓存大小
- (NSString *)userCacheSize;

/**
 构造函数

 @return 返回单例类
 */
+ (instancetype)tool;

@end

NS_ASSUME_NONNULL_END
